#ifndef __LOGGER_H__
#define __LOGGER_H__

#include <string>
typedef enum
{
  CRITICAL,
  INFO,
  DEBUG,
  NONE
} LEVEL;

void log(const std::string &message);
void log(const std::string &message, LEVEL level);
//void log(const double message);
void log(const double message, LEVEL level);
class Logger
{
private:
  static const std::string fileName_;
  LEVEL defaultLevel_;
  
  Logger();
  Logger(const Logger &logger);
  Logger& operator =(const Logger &logger);

public:

void log(const std::string &message);
void log(const std::string &message, LEVEL level);
void log(const double message);
void log(const double message, LEVEL level);

static Logger& getInstance();
};

#endif
